package cc.cc4414.cc03.file.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 文件信息表
 * </p>
 *
 * @author cc
 * @since 2019-01-07
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("file_file_info")
public class FileInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String id;

    /**
     * 文件名称
     */
    private String name;

    /**
     * 文件类型
     */
    private String fileType;

    /**
     * 文件大小，单位为字节
     */
    private Long size;

    /**
     * 上传时间
     */
    private LocalDateTime time;

    /**
     * 上传用户id
     */
    private String userId;

    /**
     * 上传用户昵称。冗余字段
     */
    private String userNickname;

    /**
     * 类型：0为私有的，1为公开的，2为头像，3为消息文件，4为录制视频
     */
    private Integer type;

    /**
     * 审核状态：0为无需审核，1为待审核，2为审核中，3为审核通过，4为审核不通过
     */
    private Integer auditStatus;

    /**
     * 状态码：0为正常，1为删除
     */
    private Integer state;


    public static final String ID = "id";

    public static final String NAME = "name";

    public static final String FILE_TYPE = "file_type";

    public static final String SIZE = "size";

    public static final String TIME = "time";

    public static final String USER_ID = "user_id";

    public static final String USER_NICKNAME = "user_nickname";

    public static final String TYPE = "type";

    public static final String AUDIT_STATUS = "audit_status";

    public static final String STATE = "state";

}
